iT邦幫忙

2023 iThome 鐵人賽

DAY 13
1
Software Development

Spring Boot 零基礎入門系列 第 13

Spring Boot 零基礎入門 (13) - Spring MVC 簡介

  • 分享至 

  • xImage
  •  

賀!此系列文榮獲 2023 iThome 鐵人賽《優選》獎項,正在規劃出書中,感謝大家的支持🙏,同名課程「Java 工程師必備!Spring Boot 零基礎入門」也已在 Hahow 平台上架

哈囉大家好,我是古古

在前面的文章中,我們了解了 Spring 框架中的最重要的兩個特性:IoC 和 AOP,所以有關於 Spring Boot 的基本用法,大家應該就不會那麼陌生了

那麼從這篇文章開始,就會進入到下一個章節:Spring MVC,Spring MVC 可以說是在 Spring Boot 中使用最頻繁的功能之一,那我們就開始吧!

回顧:前端和後端的差別


在我們開始介紹什麼是 Spring MVC 之前,我們先來回顧一下什麼是「前端」和「後端」

在現今的網站架構中,主要可以分成「前端」和「後端」兩部分

  • 前端:負責網頁的排版設計
    • 像是網頁中要使用什麼顏色的按鈕、按鈕要放在哪裡、標題大小要多大...等等,這些都是屬於前端的範疇
  • 後端:負責數據處理
    • 像是商品的價格是多少、每一筆評價的留言內容是什麼...等等,這些有關數據內容的,都是屬於後端的範疇

所以簡單的說的話,前端工程師就是去負責實作「這個網頁要長什麼樣子」,而後端工程師,則是負責去處理「我要在這個網頁上賣什麼東西」,所以前端工程師處理的是排版設計,而後端工程師處理的則是動態的數據

https://ithelp.ithome.com.tw/upload/images/20230927/20151036CXPnFsQYq0.png

不過我們平常看見的網頁,其實是前端和後端整合在一起的結果,所以前端除了設計網頁的排版之外,同時也需要去問後端說「這裡應該要顯示哪些商品?」,由後端告訴前端說「這裡要呈現的商品數據是什麼」(因為後端是負責處理數據的)

因此當前端拿到這些商品數據之後,就會將這些數據和排版結合再一起,最後再將結果呈現給使用者看,所以我們平常所瀏覽的網頁,就是由「前端的排版」加上「後端的數據」,所組合出來的成果

https://ithelp.ithome.com.tw/upload/images/20230927/20151036BeijYmVDtq.png

而在這之中,前端和後端勢必然需要經過特定的方式,才能夠達到將這些數據互相傳遞,因此 Spring MVC 所負責的,就是去解決「前端和後端之間是怎麼去溝通的」的問題

所以換句話說的話,在接下來 Spring MVC 章節裡面所介紹的所有內容,就都是在講要怎麼去和前端進行溝通

https://ithelp.ithome.com.tw/upload/images/20230927/20151036Lo57cUCR3t.png

什麼是 Spring MVC?


大概了解了 Spring MVC 功能的用途之後,接著我們可以回頭來看一下 Spring MVC 的定義

Spring MVC 的用途,就是讓我們「在 Spring Boot 中實作前後端之間的溝通」,所以我們之後就可以透過 Spring MVC 的功能,去創建一個 API 出來、或是去接住前端所傳過來的參數了,有關這部分的介紹都會在後續的文章中提到

https://ithelp.ithome.com.tw/upload/images/20231007/20151036WniigeG7x5.png

補充:什麼?原來我們已經用過 Spring MVC 了?


我們其實在前面的文章中,就已經有使用到了 Spring MVC 的功能,而且是一路使用到現在XD

Day4 - 第一個 Spring Boot 程式 的那篇文章中,我們有在 Spring Boot 程式中創建了一個 MyController 的 class,而當時是告訴大家說,只要我們運行起 Spring Boot 程式,然後在瀏覽器中輸入 http://localhost:8080/test 時,Spring Boot 就會去執行 MyController 中的 test 方法

https://ithelp.ithome.com.tw/upload/images/20230927/20151036o9tQb91A4k.png

而之所以在瀏覽器中輸入 http://localhost:8080/test ,Spring Boot 就會去執行 MyController 中的 test 方法,就是靠著 @RestController@RequestMapping 這兩行程式的幫助,才讓我們可以達到這個效果的

https://ithelp.ithome.com.tw/upload/images/20230927/20151036c8v9pJQXKu.png

所以在後面的文章中,就會來介紹 Spring MVC 到底是怎麼做到這件事的,同時也會介紹 @RestController@RequestMapping 這些程式,他們分別代表的又是什麼意思

總結


這篇文章先回顧了前端和後端之間的區別,並且介紹了 Spring MVC 這個功能的用途是什麼,讓大家對 Spring MVC 的定位先有一個概念上的認識

而在我們開始進入 Spring MVC 的介紹之前,會需要大家先對前後端溝通的協議有一些基本的認識,因此下一篇文章我們就會先來介紹前後端溝通最基礎的部分:Http 協議,那我們就下一篇文章見啦!

相關連結



上一篇
Spring Boot 零基礎入門 (12) - Spring AOP 的用法 - @Aspect
下一篇
Spring Boot 零基礎入門 (14) - Http 協議介紹
系列文
Spring Boot 零基礎入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言